import {app, BrowserWindow, ipcMain, screen} from 'electron'
// import { autoUpdater } from 'electron-updater'
import '../renderer/store'
/**
 * 生产环境中静态文件地址
 */
if (process.env.NODE_ENV !== 'development') {
    global.__static = require('path').join(__dirname, '/static').replace(/\\/g, '\\\\')
}
// 主窗口配置
let mainWindow = null;
// 应用界面渲染访问地址
const winURL = process.env.NODE_ENV === 'development'
    ? `http://localhost:9080`
    : `file://${__dirname}/index.html`;

const createWindow = () => {
    /*
     * 主窗体信息配置
     * 1.配置窗体宽高
     * 2.窗体可扩展大小
     */
    mainWindow = new BrowserWindow({
        // 初始窗体宽度
        width: 453,
        // 初始窗体高度
        height: 600,
        minWidth: 453,
        useContentSize: false,
        // 不显示主题工具
        frame: false,
        // 禁止修改登录窗口大小
        resizable: true
    });
    // 加载静态资源地址注入
    mainWindow.loadURL(winURL);
    // 注销应用
    mainWindow.on('closed', () => (mainWindow = null));
    //隐藏顶部菜单
    mainWindow.setMenu(null);
    // 退出系统（子级调用）
    ipcMain.on('close', app.quit);
    // 窗体最小化
    ipcMain.on('minWin', () => (mainWindow.minimize()));
    罄
    首页
    周
    Home视图
};
/**
 * 登录后改变窗体大小
 * 1. 获取设备分辨率
 * 2. 计算设备改变后的相对与设备的定位
 * 3. 尺寸的参数为正整数
 */
ipcMain.on('changeSize', () => {
    // 设备宽度
    const winW = screen.getPrimaryDisplay().size.width;
    // 设备高度
    const winH = screen.getPrimaryDisplay().size.height;
    // 改变后应用显示跨度
    const windW = 1100;
    // 改变后设备显示高度
    const windH = parseInt(0.8 * winH);
    // 改变后距离设备左侧位置
    const windL = parseInt((winW - windW) / 2);
    // 改变后举例设备高度
    const windT = parseInt((winH - windH) / 2);
    // 设置窗体尺寸
    mainWindow.setSize(windW, windH);
    // 设置窗体显示位置
    mainWindow.setPosition(windL, windT);
});
/**
 * 退出系统改变窗体大小
 * 1. 获取设备分辨率
 * 2. 计算设备改变后的相对与设备的定位
 * 3. 尺寸的参数为正整数
 */
ipcMain.on('outLogin', () => {
    // 设置窗体尺寸
    mainWindow.setSize(454, 600);
    // 设备宽度
    const winW = screen.getPrimaryDisplay().size.width;
    // 设备高度
    const winH = screen.getPrimaryDisplay().size.height;
    // 改变后距离设备左侧位置
    const windL = parseInt((winW - 454) / 2);
    // 改变后举例设备高度
    const windT = parseInt((winH - 600) / 2);
    // 设置窗体显示位置
    mainWindow.setPosition(windL, windT);
});
// 挂载生成桌面
app.on('ready', createWindow);
// 退出主题应用
app.on('window-all-closed', () => (process.platform !== 'darwin' && app.quit()));
// 打开窗体
app.on('activate', () => (mainWindow === null && createWindow()));

/**
 * 热更新
 */
//autoUpdater.on('update-downloaded', autoUpdater.quitAndInstall);
//app.on('ready', () => (process.env.NODE_ENV === 'production' && autoUpdater.checkForUpdates()));
